AI Agent and SKILL for What's New gen from Release Notes#36863
AI Agent and SKILL for What's New gen from Release Notes#36863wadepickett wants to merge 15 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a GitHub Copilot agent + supporting skill to automate generating “What’s New in ASP.NET Core” include content from dotnet/core preview release notes, including incremental/delta updates.
Changes:
- Added a new agent that orchestrates reading release notes, diffing against existing includes, generating new include files, and wiring
[!INCLUDE]directives into the What’s New article. - Added a skill that defines standardized include-file content rules (headings,
<xref:>usage, link formats, phrasing, exclusions) and a validation checklist.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.github/agents/whats-new-from-release-notes.agent.md |
New agent prompt for end-to-end “What’s New” generation/update workflow. |
.github/skills/whats-new-include-content-rules/SKILL.md |
New skill defining include-file formatting/content rules and validation checklist. |
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix formatting of code block for OpenAPI version update. Removed hidden character
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…/dotnet/AspNetCore.Docs into wadepickett/36862AiAgentWhatsNew
tdykstra
left a comment
There was a problem hiding this comment.
Looks great, I'm anxious to see what it generates!
| Before creating any files, you MUST: | ||
|
|
||
| 1. **Read the source release notes** from `dotnet/core` at the specified branch: | ||
| `release-notes/{VERSION}/preview/{PREVIEW}/aspnetcore.md` |
There was a problem hiding this comment.
should version here be major version as in subsequent lines?
| * **Wrong**: `` `AddOpenApi()` `` | ||
| * **Correct**: `<xref:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi%2A>` | ||
| * **Wrong**: `` `BadHttpRequestException` `` | ||
| * **Correct**: `<xref:Microsoft.AspNetCore.Http.BadHttpRequestException>` | ||
| * When referencing an API type or method, always use `<xref:fully.qualified.name>` |
There was a problem hiding this comment.
If the Api is new, xref format won't work, You could have them link to the source code instead.
There was a problem hiding this comment.
Great point. I wonder if it is capable of testing first for the xref and if that does not work, fall back to the source code and make an comment to update to xref later as the api becomes available.
meaghanlewis
left a comment
There was a problem hiding this comment.
This looks great @wadepickett! I left a few suggestions and questions for you to consider.
|
|
||
| ### Links — use relative paths for Microsoft Learn | ||
|
|
||
| * **Wrong**: `[Breaking changes in .NET]([/dotnet/core/compatibility/breaking-changes](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes))` |
There was a problem hiding this comment.
| * **Wrong**: `[Breaking changes in .NET]([/dotnet/core/compatibility/breaking-changes](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes))` | |
| * **Wrong**: `[Breaking changes in .NET](https://learn.microsoft.com/dotnet/core/compatibility/breaking-changes)` |
There was a problem hiding this comment.
Is this what you meant here instead?
There was a problem hiding this comment.
I provided an example of what not to do , because it kept trying to do it that way during testing.
| Before reading any files, resolve the following parameters. If the invoker | ||
| provided explicit values, use them. Otherwise, auto-discover. | ||
|
|
||
| | Parameter | Required | Default | Description | |
There was a problem hiding this comment.
Should the same table from the inputs section be here as well?
|
|
||
| - [ ] The What's New article `ms.date` is set to today's date | ||
| - [ ] All `[!INCLUDE]` directives are correctly placed with blank lines around them | ||
| - [ ] Section mapping matches the table above |
There was a problem hiding this comment.
Can you specify or link to the section that has the table instead of using above.
Adding suggestions from MeaghanLewis Co-authored-by: Meaghan Osagie (Lewis) <moneikmarie@gmail.com>
Co-authored-by: Meaghan Osagie (Lewis) <mosagie@microsoft.com>
Fixes #36862
Overview for Reviewers
This PR adds two files that work together to automate generating the "What's New in ASP.NET Core" article content from .NET preview release notes:
Agent:
whats-new-from-release-notes.agent.mddotnet/coredotnet/AspNetCore.Docs[!INCLUDE]directives into the correct sections of the What's New articleSkill:
whats-new-include-content-rules/SKILL.md-preview{N}suffix)<xref:>API reference format.github/agents/whats-new-from-release-notes.agent.md.github/skills/whats-new-include-content-rules/SKILL.mdIn short: The agent decides what to do and when. The skill decides how the content should look. They are separated so the content rules can be reused independently (e.g., by a human author or a different agent) without re-implementing the orchestration logic.
Agent workflow
dotnet/core, reads the current What's New article, lists existing include files, compares source vs. existing, and reports the delta (new / updated / already covered).[!INCLUDE]directives in the correct product-area sections, updatesms.date, preserves the Breaking Changes section.Key content rules encoded in the skill
-preview{N}<xref:fully.qualified.name>for API references — not backtick inline codeInternal previews